// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Generated from Torque.g4 by ANTLR 4.7.1

#include "TorqueLexer.h"

using namespace antlr4;

TorqueLexer::TorqueLexer(CharStream* input) : Lexer(input) {
  _interpreter = new atn::LexerATNSimulator(this, _atn, _decisionToDFA,
                                            _sharedContextCache);
}

TorqueLexer::~TorqueLexer() { delete _interpreter; }

std::string TorqueLexer::getGrammarFileName() const { return "Torque.g4"; }

const std::vector<std::string>& TorqueLexer::getRuleNames() const {
  return _ruleNames;
}

const std::vector<std::string>& TorqueLexer::getChannelNames() const {
  return _channelNames;
}

const std::vector<std::string>& TorqueLexer::getModeNames() const {
  return _modeNames;
}

const std::vector<std::string>& TorqueLexer::getTokenNames() const {
  return _tokenNames;
}

dfa::Vocabulary& TorqueLexer::getVocabulary() const { return _vocabulary; }

const std::vector<uint16_t> TorqueLexer::getSerializedATN() const {
  return _serializedATN;
}

const atn::ATN& TorqueLexer::getATN() const { return _atn; }

// Static vars and initialization.
std::vector<dfa::DFA> TorqueLexer::_decisionToDFA;
atn::PredictionContextCache TorqueLexer::_sharedContextCache;

// We own the ATN which in turn owns the ATN states.
atn::ATN TorqueLexer::_atn;
std::vector<uint16_t> TorqueLexer::_serializedATN;

std::vector<std::string> TorqueLexer::_ruleNames = {u8"T__0",
                                                    u8"T__1",
                                                    u8"T__2",
                                                    u8"T__3",
                                                    u8"T__4",
                                                    u8"T__5",
                                                    u8"T__6",
                                                    u8"T__7",
                                                    u8"T__8",
                                                    u8"T__9",
                                                    u8"T__10",
                                                    u8"T__11",
                                                    u8"T__12",
                                                    u8"T__13",
                                                    u8"T__14",
                                                    u8"T__15",
                                                    u8"T__16",
                                                    u8"T__17",
                                                    u8"T__18",
                                                    u8"T__19",
                                                    u8"T__20",
                                                    u8"MACRO",
                                                    u8"BUILTIN",
                                                    u8"RUNTIME",
                                                    u8"MODULE",
                                                    u8"JAVASCRIPT",
                                                    u8"IMPLICIT",
                                                    u8"DEFERRED",
                                                    u8"IF",
                                                    u8"CAST_KEYWORD",
                                                    u8"CONVERT_KEYWORD",
                                                    u8"FOR",
                                                    u8"WHILE",
                                                    u8"RETURN",
                                                    u8"CONSTEXPR",
                                                    u8"CONTINUE",
                                                    u8"BREAK",
                                                    u8"GOTO",
                                                    u8"OTHERWISE",
                                                    u8"TRY",
                                                    u8"CATCH",
                                                    u8"LABEL",
                                                    u8"LABELS",
                                                    u8"TAIL",
                                                    u8"ISNT",
                                                    u8"IS",
                                                    u8"LET",
                                                    u8"EXTERN",
                                                    u8"ASSERT",
                                                    u8"UNREACHABLE_TOKEN",
                                                    u8"DEBUG_TOKEN",
                                                    u8"ASSIGNMENT",
                                                    u8"ASSIGNMENT_OPERATOR",
                                                    u8"EQUAL",
                                                    u8"PLUS",
                                                    u8"MINUS",
                                                    u8"MULTIPLY",
                                                    u8"DIVIDE",
                                                    u8"MODULO",
                                                    u8"BIT_OR",
                                                    u8"BIT_AND",
                                                    u8"BIT_NOT",
                                                    u8"MAX",
                                                    u8"MIN",
                                                    u8"NOT_EQUAL",
                                                    u8"LESS_THAN",
                                                    u8"LESS_THAN_EQUAL",
                                                    u8"GREATER_THAN",
                                                    u8"GREATER_THAN_EQUAL",
                                                    u8"SHIFT_LEFT",
                                                    u8"SHIFT_RIGHT",
                                                    u8"SHIFT_RIGHT_ARITHMETIC",
                                                    u8"VARARGS",
                                                    u8"EQUALITY_OPERATOR",
                                                    u8"INCREMENT",
                                                    u8"DECREMENT",
                                                    u8"NOT",
                                                    u8"STRING_LITERAL",
                                                    u8"ESCAPE",
                                                    u8"IDENTIFIER",
                                                    u8"WS",
                                                    u8"BLOCK_COMMENT",
                                                    u8"LINE_COMMENT",
                                                    u8"DECIMAL_DIGIT",
                                                    u8"DECIMAL_INTEGER_LITERAL",
                                                    u8"EXPONENT_PART",
                                                    u8"DECIMAL_LITERAL"};

std::vector<std::string> TorqueLexer::_channelNames = {"DEFAULT_TOKEN_CHANNEL",
                                                       "HIDDEN"};

std::vector<std::string> TorqueLexer::_modeNames = {u8"DEFAULT_MODE"};

std::vector<std::string> TorqueLexer::_literalNames = {"",
                                                       u8"'('",
                                                       u8"')'",
                                                       u8"'=>'",
                                                       u8"','",
                                                       u8"':'",
                                                       u8"'type'",
                                                       u8"'?'",
                                                       u8"'||'",
                                                       u8"'&&'",
                                                       u8"'.'",
                                                       u8"'['",
                                                       u8"']'",
                                                       u8"';'",
                                                       u8"'of'",
                                                       u8"'else'",
                                                       u8"'{'",
                                                       u8"'}'",
                                                       u8"'extends'",
                                                       u8"'generates'",
                                                       u8"'operator'",
                                                       u8"'const'",
                                                       u8"'macro'",
                                                       u8"'builtin'",
                                                       u8"'runtime'",
                                                       u8"'module'",
                                                       u8"'javascript'",
                                                       u8"'implicit'",
                                                       u8"'deferred'",
                                                       u8"'if'",
                                                       u8"'cast'",
                                                       u8"'convert'",
                                                       u8"'for'",
                                                       u8"'while'",
                                                       u8"'return'",
                                                       u8"'constexpr'",
                                                       u8"'continue'",
                                                       u8"'break'",
                                                       u8"'goto'",
                                                       u8"'otherwise'",
                                                       u8"'try'",
                                                       u8"'catch'",
                                                       u8"'label'",
                                                       u8"'labels'",
                                                       u8"'tail'",
                                                       u8"'isnt'",
                                                       u8"'is'",
                                                       u8"'let'",
                                                       u8"'extern'",
                                                       u8"'assert'",
                                                       u8"'unreachable'",
                                                       u8"'debug'",
                                                       u8"'='",
                                                       "",
                                                       u8"'=='",
                                                       u8"'+'",
                                                       u8"'-'",
                                                       u8"'*'",
                                                       u8"'/'",
                                                       u8"'%'",
                                                       u8"'|'",
                                                       u8"'&'",
                                                       u8"'~'",
                                                       u8"'max'",
                                                       u8"'min'",
                                                       u8"'!='",
                                                       u8"'<'",
                                                       u8"'<='",
                                                       u8"'>'",
                                                       u8"'>='",
                                                       u8"'<<'",
                                                       u8"'>>'",
                                                       u8"'>>>'",
                                                       u8"'...'",
                                                       "",
                                                       u8"'++'",
                                                       u8"'--'",
                                                       u8"'!'"};

std::vector<std::string> TorqueLexer::_symbolicNames = {
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    u8"MACRO",
    u8"BUILTIN",
    u8"RUNTIME",
    u8"MODULE",
    u8"JAVASCRIPT",
    u8"IMPLICIT",
    u8"DEFERRED",
    u8"IF",
    u8"CAST_KEYWORD",
    u8"CONVERT_KEYWORD",
    u8"FOR",
    u8"WHILE",
    u8"RETURN",
    u8"CONSTEXPR",
    u8"CONTINUE",
    u8"BREAK",
    u8"GOTO",
    u8"OTHERWISE",
    u8"TRY",
    u8"CATCH",
    u8"LABEL",
    u8"LABELS",
    u8"TAIL",
    u8"ISNT",
    u8"IS",
    u8"LET",
    u8"EXTERN",
    u8"ASSERT",
    u8"UNREACHABLE_TOKEN",
    u8"DEBUG_TOKEN",
    u8"ASSIGNMENT",
    u8"ASSIGNMENT_OPERATOR",
    u8"EQUAL",
    u8"PLUS",
    u8"MINUS",
    u8"MULTIPLY",
    u8"DIVIDE",
    u8"MODULO",
    u8"BIT_OR",
    u8"BIT_AND",
    u8"BIT_NOT",
    u8"MAX",
    u8"MIN",
    u8"NOT_EQUAL",
    u8"LESS_THAN",
    u8"LESS_THAN_EQUAL",
    u8"GREATER_THAN",
    u8"GREATER_THAN_EQUAL",
    u8"SHIFT_LEFT",
    u8"SHIFT_RIGHT",
    u8"SHIFT_RIGHT_ARITHMETIC",
    u8"VARARGS",
    u8"EQUALITY_OPERATOR",
    u8"INCREMENT",
    u8"DECREMENT",
    u8"NOT",
    u8"STRING_LITERAL",
    u8"IDENTIFIER",
    u8"WS",
    u8"BLOCK_COMMENT",
    u8"LINE_COMMENT",
    u8"DECIMAL_LITERAL"};

dfa::Vocabulary TorqueLexer::_vocabulary(_literalNames, _symbolicNames);

std::vector<std::string> TorqueLexer::_tokenNames;

TorqueLexer::Initializer::Initializer() {
  // This code could be in a static initializer lambda, but VS doesn't allow
  // access to private class members from there.
  for (size_t i = 0; i < _symbolicNames.size(); ++i) {
    std::string name = _vocabulary.getLiteralName(i);
    if (name.empty()) {
      name = _vocabulary.getSymbolicName(i);
    }

    if (name.empty()) {
      _tokenNames.push_back("<INVALID>");
    } else {
      _tokenNames.push_back(name);
    }
  }

  _serializedATN = {
      0x3,   0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
      0x2,   0x55,   0x2a1,  0x8,    0x1,    0x4,    0x2,    0x9,    0x2,
      0x4,   0x3,    0x9,    0x3,    0x4,    0x4,    0x9,    0x4,    0x4,
      0x5,   0x9,    0x5,    0x4,    0x6,    0x9,    0x6,    0x4,    0x7,
      0x9,   0x7,    0x4,    0x8,    0x9,    0x8,    0x4,    0x9,    0x9,
      0x9,   0x4,    0xa,    0x9,    0xa,    0x4,    0xb,    0x9,    0xb,
      0x4,   0xc,    0x9,    0xc,    0x4,    0xd,    0x9,    0xd,    0x4,
      0xe,   0x9,    0xe,    0x4,    0xf,    0x9,    0xf,    0x4,    0x10,
      0x9,   0x10,   0x4,    0x11,   0x9,    0x11,   0x4,    0x12,   0x9,
      0x12,  0x4,    0x13,   0x9,    0x13,   0x4,    0x14,   0x9,    0x14,
      0x4,   0x15,   0x9,    0x15,   0x4,    0x16,   0x9,    0x16,   0x4,
      0x17,  0x9,    0x17,   0x4,    0x18,   0x9,    0x18,   0x4,    0x19,
      0x9,   0x19,   0x4,    0x1a,   0x9,    0x1a,   0x4,    0x1b,   0x9,
      0x1b,  0x4,    0x1c,   0x9,    0x1c,   0x4,    0x1d,   0x9,    0x1d,
      0x4,   0x1e,   0x9,    0x1e,   0x4,    0x1f,   0x9,    0x1f,   0x4,
      0x20,  0x9,    0x20,   0x4,    0x21,   0x9,    0x21,   0x4,    0x22,
      0x9,   0x22,   0x4,    0x23,   0x9,    0x23,   0x4,    0x24,   0x9,
      0x24,  0x4,    0x25,   0x9,    0x25,   0x4,    0x26,   0x9,    0x26,
      0x4,   0x27,   0x9,    0x27,   0x4,    0x28,   0x9,    0x28,   0x4,
      0x29,  0x9,    0x29,   0x4,    0x2a,   0x9,    0x2a,   0x4,    0x2b,
      0x9,   0x2b,   0x4,    0x2c,   0x9,    0x2c,   0x4,    0x2d,   0x9,
      0x2d,  0x4,    0x2e,   0x9,    0x2e,   0x4,    0x2f,   0x9,    0x2f,
      0x4,   0x30,   0x9,    0x30,   0x4,    0x31,   0x9,    0x31,   0x4,
      0x32,  0x9,    0x32,   0x4,    0x33,   0x9,    0x33,   0x4,    0x34,
      0x9,   0x34,   0x4,    0x35,   0x9,    0x35,   0x4,    0x36,   0x9,
      0x36,  0x4,    0x37,   0x9,    0x37,   0x4,    0x38,   0x9,    0x38,
      0x4,   0x39,   0x9,    0x39,   0x4,    0x3a,   0x9,    0x3a,   0x4,
      0x3b,  0x9,    0x3b,   0x4,    0x3c,   0x9,    0x3c,   0x4,    0x3d,
      0x9,   0x3d,   0x4,    0x3e,   0x9,    0x3e,   0x4,    0x3f,   0x9,
      0x3f,  0x4,    0x40,   0x9,    0x40,   0x4,    0x41,   0x9,    0x41,
      0x4,   0x42,   0x9,    0x42,   0x4,    0x43,   0x9,    0x43,   0x4,
      0x44,  0x9,    0x44,   0x4,    0x45,   0x9,    0x45,   0x4,    0x46,
      0x9,   0x46,   0x4,    0x47,   0x9,    0x47,   0x4,    0x48,   0x9,
      0x48,  0x4,    0x49,   0x9,    0x49,   0x4,    0x4a,   0x9,    0x4a,
      0x4,   0x4b,   0x9,    0x4b,   0x4,    0x4c,   0x9,    0x4c,   0x4,
      0x4d,  0x9,    0x4d,   0x4,    0x4e,   0x9,    0x4e,   0x4,    0x4f,
      0x9,   0x4f,   0x4,    0x50,   0x9,    0x50,   0x4,    0x51,   0x9,
      0x51,  0x4,    0x52,   0x9,    0x52,   0x4,    0x53,   0x9,    0x53,
      0x4,   0x54,   0x9,    0x54,   0x4,    0x55,   0x9,    0x55,   0x4,
      0x56,  0x9,    0x56,   0x4,    0x57,   0x9,    0x57,   0x4,    0x58,
      0x9,   0x58,   0x3,    0x2,    0x3,    0x2,    0x3,    0x3,    0x3,
      0x3,   0x3,    0x4,    0x3,    0x4,    0x3,    0x4,    0x3,    0x5,
      0x3,   0x5,    0x3,    0x6,    0x3,    0x6,    0x3,    0x7,    0x3,
      0x7,   0x3,    0x7,    0x3,    0x7,    0x3,    0x7,    0x3,    0x8,
      0x3,   0x8,    0x3,    0x9,    0x3,    0x9,    0x3,    0x9,    0x3,
      0xa,   0x3,    0xa,    0x3,    0xa,    0x3,    0xb,    0x3,    0xb,
      0x3,   0xc,    0x3,    0xc,    0x3,    0xd,    0x3,    0xd,    0x3,
      0xe,   0x3,    0xe,    0x3,    0xf,    0x3,    0xf,    0x3,    0xf,
      0x3,   0x10,   0x3,    0x10,   0x3,    0x10,   0x3,    0x10,   0x3,
      0x10,  0x3,    0x11,   0x3,    0x11,   0x3,    0x12,   0x3,    0x12,
      0x3,   0x13,   0x3,    0x13,   0x3,    0x13,   0x3,    0x13,   0x3,
      0x13,  0x3,    0x13,   0x3,    0x13,   0x3,    0x13,   0x3,    0x14,
      0x3,   0x14,   0x3,    0x14,   0x3,    0x14,   0x3,    0x14,   0x3,
      0x14,  0x3,    0x14,   0x3,    0x14,   0x3,    0x14,   0x3,    0x14,
      0x3,   0x15,   0x3,    0x15,   0x3,    0x15,   0x3,    0x15,   0x3,
      0x15,  0x3,    0x15,   0x3,    0x15,   0x3,    0x15,   0x3,    0x15,
      0x3,   0x16,   0x3,    0x16,   0x3,    0x16,   0x3,    0x16,   0x3,
      0x16,  0x3,    0x16,   0x3,    0x17,   0x3,    0x17,   0x3,    0x17,
      0x3,   0x17,   0x3,    0x17,   0x3,    0x17,   0x3,    0x18,   0x3,
      0x18,  0x3,    0x18,   0x3,    0x18,   0x3,    0x18,   0x3,    0x18,
      0x3,   0x18,   0x3,    0x18,   0x3,    0x19,   0x3,    0x19,   0x3,
      0x19,  0x3,    0x19,   0x3,    0x19,   0x3,    0x19,   0x3,    0x19,
      0x3,   0x19,   0x3,    0x1a,   0x3,    0x1a,   0x3,    0x1a,   0x3,
      0x1a,  0x3,    0x1a,   0x3,    0x1a,   0x3,    0x1a,   0x3,    0x1b,
      0x3,   0x1b,   0x3,    0x1b,   0x3,    0x1b,   0x3,    0x1b,   0x3,
      0x1b,  0x3,    0x1b,   0x3,    0x1b,   0x3,    0x1b,   0x3,    0x1b,
      0x3,   0x1b,   0x3,    0x1c,   0x3,    0x1c,   0x3,    0x1c,   0x3,
      0x1c,  0x3,    0x1c,   0x3,    0x1c,   0x3,    0x1c,   0x3,    0x1c,
      0x3,   0x1c,   0x3,    0x1d,   0x3,    0x1d,   0x3,    0x1d,   0x3,
      0x1d,  0x3,    0x1d,   0x3,    0x1d,   0x3,    0x1d,   0x3,    0x1d,
      0x3,   0x1d,   0x3,    0x1e,   0x3,    0x1e,   0x3,    0x1e,   0x3,
      0x1f,  0x3,    0x1f,   0x3,    0x1f,   0x3,    0x1f,   0x3,    0x1f,
      0x3,   0x20,   0x3,    0x20,   0x3,    0x20,   0x3,    0x20,   0x3,
      0x20,  0x3,    0x20,   0x3,    0x20,   0x3,    0x20,   0x3,    0x21,
      0x3,   0x21,   0x3,    0x21,   0x3,    0x21,   0x3,    0x22,   0x3,
      0x22,  0x3,    0x22,   0x3,    0x22,   0x3,    0x22,   0x3,    0x22,
      0x3,   0x23,   0x3,    0x23,   0x3,    0x23,   0x3,    0x23,   0x3,
      0x23,  0x3,    0x23,   0x3,    0x23,   0x3,    0x24,   0x3,    0x24,
      0x3,   0x24,   0x3,    0x24,   0x3,    0x24,   0x3,    0x24,   0x3,
      0x24,  0x3,    0x24,   0x3,    0x24,   0x3,    0x24,   0x3,    0x25,
      0x3,   0x25,   0x3,    0x25,   0x3,    0x25,   0x3,    0x25,   0x3,
      0x25,  0x3,    0x25,   0x3,    0x25,   0x3,    0x25,   0x3,    0x26,
      0x3,   0x26,   0x3,    0x26,   0x3,    0x26,   0x3,    0x26,   0x3,
      0x26,  0x3,    0x27,   0x3,    0x27,   0x3,    0x27,   0x3,    0x27,
      0x3,   0x27,   0x3,    0x28,   0x3,    0x28,   0x3,    0x28,   0x3,
      0x28,  0x3,    0x28,   0x3,    0x28,   0x3,    0x28,   0x3,    0x28,
      0x3,   0x28,   0x3,    0x28,   0x3,    0x29,   0x3,    0x29,   0x3,
      0x29,  0x3,    0x29,   0x3,    0x2a,   0x3,    0x2a,   0x3,    0x2a,
      0x3,   0x2a,   0x3,    0x2a,   0x3,    0x2a,   0x3,    0x2b,   0x3,
      0x2b,  0x3,    0x2b,   0x3,    0x2b,   0x3,    0x2b,   0x3,    0x2b,
      0x3,   0x2c,   0x3,    0x2c,   0x3,    0x2c,   0x3,    0x2c,   0x3,
      0x2c,  0x3,    0x2c,   0x3,    0x2c,   0x3,    0x2d,   0x3,    0x2d,
      0x3,   0x2d,   0x3,    0x2d,   0x3,    0x2d,   0x3,    0x2e,   0x3,
      0x2e,  0x3,    0x2e,   0x3,    0x2e,   0x3,    0x2e,   0x3,    0x2f,
      0x3,   0x2f,   0x3,    0x2f,   0x3,    0x30,   0x3,    0x30,   0x3,
      0x30,  0x3,    0x30,   0x3,    0x31,   0x3,    0x31,   0x3,    0x31,
      0x3,   0x31,   0x3,    0x31,   0x3,    0x31,   0x3,    0x31,   0x3,
      0x32,  0x3,    0x32,   0x3,    0x32,   0x3,    0x32,   0x3,    0x32,
      0x3,   0x32,   0x3,    0x32,   0x3,    0x33,   0x3,    0x33,   0x3,
      0x33,  0x3,    0x33,   0x3,    0x33,   0x3,    0x33,   0x3,    0x33,
      0x3,   0x33,   0x3,    0x33,   0x3,    0x33,   0x3,    0x33,   0x3,
      0x33,  0x3,    0x34,   0x3,    0x34,   0x3,    0x34,   0x3,    0x34,
      0x3,   0x34,   0x3,    0x34,   0x3,    0x35,   0x3,    0x35,   0x3,
      0x36,  0x3,    0x36,   0x3,    0x36,   0x3,    0x36,   0x3,    0x36,
      0x3,   0x36,   0x3,    0x36,   0x3,    0x36,   0x3,    0x36,   0x3,
      0x36,  0x3,    0x36,   0x3,    0x36,   0x3,    0x36,   0x3,    0x36,
      0x3,   0x36,   0x3,    0x36,   0x3,    0x36,   0x3,    0x36,   0x3,
      0x36,  0x3,    0x36,   0x3,    0x36,   0x3,    0x36,   0x3,    0x36,
      0x3,   0x36,   0x3,    0x36,   0x3,    0x36,   0x5,    0x36,   0x1e6,
      0xa,   0x36,   0x3,    0x37,   0x3,    0x37,   0x3,    0x37,   0x3,
      0x38,  0x3,    0x38,   0x3,    0x39,   0x3,    0x39,   0x3,    0x3a,
      0x3,   0x3a,   0x3,    0x3b,   0x3,    0x3b,   0x3,    0x3c,   0x3,
      0x3c,  0x3,    0x3d,   0x3,    0x3d,   0x3,    0x3e,   0x3,    0x3e,
      0x3,   0x3f,   0x3,    0x3f,   0x3,    0x40,   0x3,    0x40,   0x3,
      0x40,  0x3,    0x40,   0x3,    0x41,   0x3,    0x41,   0x3,    0x41,
      0x3,   0x41,   0x3,    0x42,   0x3,    0x42,   0x3,    0x42,   0x3,
      0x43,  0x3,    0x43,   0x3,    0x44,   0x3,    0x44,   0x3,    0x44,
      0x3,   0x45,   0x3,    0x45,   0x3,    0x46,   0x3,    0x46,   0x3,
      0x46,  0x3,    0x47,   0x3,    0x47,   0x3,    0x47,   0x3,    0x48,
      0x3,   0x48,   0x3,    0x48,   0x3,    0x49,   0x3,    0x49,   0x3,
      0x49,  0x3,    0x49,   0x3,    0x4a,   0x3,    0x4a,   0x3,    0x4a,
      0x3,   0x4a,   0x3,    0x4b,   0x3,    0x4b,   0x5,    0x4b,   0x220,
      0xa,   0x4b,   0x3,    0x4c,   0x3,    0x4c,   0x3,    0x4c,   0x3,
      0x4d,  0x3,    0x4d,   0x3,    0x4d,   0x3,    0x4e,   0x3,    0x4e,
      0x3,   0x4f,   0x3,    0x4f,   0x3,    0x4f,   0x7,    0x4f,   0x22d,
      0xa,   0x4f,   0xc,    0x4f,   0xe,    0x4f,   0x230,  0xb,    0x4f,
      0x3,   0x4f,   0x3,    0x4f,   0x3,    0x4f,   0x3,    0x4f,   0x7,
      0x4f,  0x236,  0xa,    0x4f,   0xc,    0x4f,   0xe,    0x4f,   0x239,
      0xb,   0x4f,   0x3,    0x4f,   0x5,    0x4f,   0x23c,  0xa,    0x4f,
      0x3,   0x50,   0x3,    0x50,   0x3,    0x50,   0x3,    0x51,   0x3,
      0x51,  0x7,    0x51,   0x243,  0xa,    0x51,   0xc,    0x51,   0xe,
      0x51,  0x246,  0xb,    0x51,   0x3,    0x52,   0x6,    0x52,   0x249,
      0xa,   0x52,   0xd,    0x52,   0xe,    0x52,   0x24a,  0x3,    0x52,
      0x3,   0x52,   0x3,    0x53,   0x3,    0x53,   0x3,    0x53,   0x3,
      0x53,  0x7,    0x53,   0x253,  0xa,    0x53,   0xc,    0x53,   0xe,
      0x53,  0x256,  0xb,    0x53,   0x3,    0x53,   0x3,    0x53,   0x3,
      0x53,  0x5,    0x53,   0x25b,  0xa,    0x53,   0x3,    0x53,   0x3,
      0x53,  0x3,    0x54,   0x3,    0x54,   0x3,    0x54,   0x3,    0x54,
      0x7,   0x54,   0x263,  0xa,    0x54,   0xc,    0x54,   0xe,    0x54,
      0x266, 0xb,    0x54,   0x3,    0x54,   0x3,    0x54,   0x3,    0x55,
      0x3,   0x55,   0x3,    0x56,   0x3,    0x56,   0x3,    0x56,   0x7,
      0x56,  0x26f,  0xa,    0x56,   0xc,    0x56,   0xe,    0x56,   0x272,
      0xb,   0x56,   0x5,    0x56,   0x274,  0xa,    0x56,   0x3,    0x57,
      0x3,   0x57,   0x5,    0x57,   0x278,  0xa,    0x57,   0x3,    0x57,
      0x6,   0x57,   0x27b,  0xa,    0x57,   0xd,    0x57,   0xe,    0x57,
      0x27c, 0x3,    0x58,   0x5,    0x58,   0x280,  0xa,    0x58,   0x3,
      0x58,  0x3,    0x58,   0x3,    0x58,   0x7,    0x58,   0x285,  0xa,
      0x58,  0xc,    0x58,   0xe,    0x58,   0x288,  0xb,    0x58,   0x3,
      0x58,  0x5,    0x58,   0x28b,  0xa,    0x58,   0x3,    0x58,   0x5,
      0x58,  0x28e,  0xa,    0x58,   0x3,    0x58,   0x3,    0x58,   0x6,
      0x58,  0x292,  0xa,    0x58,   0xd,    0x58,   0xe,    0x58,   0x293,
      0x3,   0x58,   0x5,    0x58,   0x297,  0xa,    0x58,   0x3,    0x58,
      0x5,   0x58,   0x29a,  0xa,    0x58,   0x3,    0x58,   0x3,    0x58,
      0x5,   0x58,   0x29e,  0xa,    0x58,   0x5,    0x58,   0x2a0,  0xa,
      0x58,  0x3,    0x254,  0x2,    0x59,   0x3,    0x3,    0x5,    0x4,
      0x7,   0x5,    0x9,    0x6,    0xb,    0x7,    0xd,    0x8,    0xf,
      0x9,   0x11,   0xa,    0x13,   0xb,    0x15,   0xc,    0x17,   0xd,
      0x19,  0xe,    0x1b,   0xf,    0x1d,   0x10,   0x1f,   0x11,   0x21,
      0x12,  0x23,   0x13,   0x25,   0x14,   0x27,   0x15,   0x29,   0x16,
      0x2b,  0x17,   0x2d,   0x18,   0x2f,   0x19,   0x31,   0x1a,   0x33,
      0x1b,  0x35,   0x1c,   0x37,   0x1d,   0x39,   0x1e,   0x3b,   0x1f,
      0x3d,  0x20,   0x3f,   0x21,   0x41,   0x22,   0x43,   0x23,   0x45,
      0x24,  0x47,   0x25,   0x49,   0x26,   0x4b,   0x27,   0x4d,   0x28,
      0x4f,  0x29,   0x51,   0x2a,   0x53,   0x2b,   0x55,   0x2c,   0x57,
      0x2d,  0x59,   0x2e,   0x5b,   0x2f,   0x5d,   0x30,   0x5f,   0x31,
      0x61,  0x32,   0x63,   0x33,   0x65,   0x34,   0x67,   0x35,   0x69,
      0x36,  0x6b,   0x37,   0x6d,   0x38,   0x6f,   0x39,   0x71,   0x3a,
      0x73,  0x3b,   0x75,   0x3c,   0x77,   0x3d,   0x79,   0x3e,   0x7b,
      0x3f,  0x7d,   0x40,   0x7f,   0x41,   0x81,   0x42,   0x83,   0x43,
      0x85,  0x44,   0x87,   0x45,   0x89,   0x46,   0x8b,   0x47,   0x8d,
      0x48,  0x8f,   0x49,   0x91,   0x4a,   0x93,   0x4b,   0x95,   0x4c,
      0x97,  0x4d,   0x99,   0x4e,   0x9b,   0x4f,   0x9d,   0x50,   0x9f,
      0x2,   0xa1,   0x51,   0xa3,   0x52,   0xa5,   0x53,   0xa7,   0x54,
      0xa9,  0x2,    0xab,   0x2,    0xad,   0x2,    0xaf,   0x55,   0x3,
      0x2,   0xd,    0x6,    0x2,    0xc,    0xc,    0xf,    0xf,    0x24,
      0x24,  0x5e,   0x5e,   0x6,    0x2,    0xc,    0xc,    0xf,    0xf,
      0x29,  0x29,   0x5e,   0x5e,   0x5,    0x2,    0x24,   0x24,   0x29,
      0x29,  0x5e,   0x5e,   0x4,    0x2,    0x43,   0x5c,   0x63,   0x7c,
      0x6,   0x2,    0x32,   0x3b,   0x43,   0x5c,   0x61,   0x61,   0x63,
      0x7c,  0x5,    0x2,    0xb,    0xc,    0xe,    0xf,    0x22,   0x22,
      0x4,   0x2,    0xc,    0xc,    0xf,    0xf,    0x3,    0x2,    0x32,
      0x3b,  0x3,    0x2,    0x33,   0x3b,   0x4,    0x2,    0x47,   0x47,
      0x67,  0x67,   0x4,    0x2,    0x2d,   0x2d,   0x2f,   0x2f,   0x2,
      0x2bf, 0x2,    0x3,    0x3,    0x2,    0x2,    0x2,    0x2,    0x5,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x7,    0x3,    0x2,    0x2,
      0x2,   0x2,    0x9,    0x3,    0x2,    0x2,    0x2,    0x2,    0xb,
      0x3,   0x2,    0x2,    0x2,    0x2,    0xd,    0x3,    0x2,    0x2,
      0x2,   0x2,    0xf,    0x3,    0x2,    0x2,    0x2,    0x2,    0x11,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x13,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x15,   0x3,    0x2,    0x2,    0x2,    0x2,    0x17,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x19,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x1b,   0x3,    0x2,    0x2,    0x2,    0x2,    0x1d,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x1f,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x21,   0x3,    0x2,    0x2,    0x2,    0x2,    0x23,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x25,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x27,   0x3,    0x2,    0x2,    0x2,    0x2,    0x29,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x2b,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x2d,   0x3,    0x2,    0x2,    0x2,    0x2,    0x2f,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x31,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x33,   0x3,    0x2,    0x2,    0x2,    0x2,    0x35,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x37,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x39,   0x3,    0x2,    0x2,    0x2,    0x2,    0x3b,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x3d,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x3f,   0x3,    0x2,    0x2,    0x2,    0x2,    0x41,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x43,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x45,   0x3,    0x2,    0x2,    0x2,    0x2,    0x47,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x49,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x4b,   0x3,    0x2,    0x2,    0x2,    0x2,    0x4d,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x4f,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x51,   0x3,    0x2,    0x2,    0x2,    0x2,    0x53,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x55,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x57,   0x3,    0x2,    0x2,    0x2,    0x2,    0x59,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x5b,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x5d,   0x3,    0x2,    0x2,    0x2,    0x2,    0x5f,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x61,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x63,   0x3,    0x2,    0x2,    0x2,    0x2,    0x65,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x67,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x69,   0x3,    0x2,    0x2,    0x2,    0x2,    0x6b,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x6d,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x6f,   0x3,    0x2,    0x2,    0x2,    0x2,    0x71,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x73,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x75,   0x3,    0x2,    0x2,    0x2,    0x2,    0x77,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x79,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x7b,   0x3,    0x2,    0x2,    0x2,    0x2,    0x7d,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x7f,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x81,   0x3,    0x2,    0x2,    0x2,    0x2,    0x83,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x85,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x87,   0x3,    0x2,    0x2,    0x2,    0x2,    0x89,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x8b,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x8d,   0x3,    0x2,    0x2,    0x2,    0x2,    0x8f,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x91,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x93,   0x3,    0x2,    0x2,    0x2,    0x2,    0x95,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x97,   0x3,    0x2,    0x2,
      0x2,   0x2,    0x99,   0x3,    0x2,    0x2,    0x2,    0x2,    0x9b,
      0x3,   0x2,    0x2,    0x2,    0x2,    0x9d,   0x3,    0x2,    0x2,
      0x2,   0x2,    0xa1,   0x3,    0x2,    0x2,    0x2,    0x2,    0xa3,
      0x3,   0x2,    0x2,    0x2,    0x2,    0xa5,   0x3,    0x2,    0x2,
      0x2,   0x2,    0xa7,   0x3,    0x2,    0x2,    0x2,    0x2,    0xaf,
      0x3,   0x2,    0x2,    0x2,    0x3,    0xb1,   0x3,    0x2,    0x2,
      0x2,   0x5,    0xb3,   0x3,    0x2,    0x2,    0x2,    0x7,    0xb5,
      0x3,   0x2,    0x2,    0x2,    0x9,    0xb8,   0x3,    0x2,    0x2,
      0x2,   0xb,    0xba,   0x3,    0x2,    0x2,    0x2,    0xd,    0xbc,
      0x3,   0x2,    0x2,    0x2,    0xf,    0xc1,   0x3,    0x2,    0x2,
      0x2,   0x11,   0xc3,   0x3,    0x2,    0x2,    0x2,    0x13,   0xc6,
      0x3,   0x2,    0x2,    0x2,    0x15,   0xc9,   0x3,    0x2,    0x2,
      0x2,   0x17,   0xcb,   0x3,    0x2,    0x2,    0x2,    0x19,   0xcd,
      0x3,   0x2,    0x2,    0x2,    0x1b,   0xcf,   0x3,    0x2,    0x2,
      0x2,   0x1d,   0xd1,   0x3,    0x2,    0x2,    0x2,    0x1f,   0xd4,
      0x3,   0x2,    0x2,    0x2,    0x21,   0xd9,   0x3,    0x2,    0x2,
      0x2,   0x23,   0xdb,   0x3,    0x2,    0x2,    0x2,    0x25,   0xdd,
      0x3,   0x2,    0x2,    0x2,    0x27,   0xe5,   0x3,    0x2,    0x2,
      0x2,   0x29,   0xef,   0x3,    0x2,    0x2,    0x2,    0x2b,   0xf8,
      0x3,   0x2,    0x2,    0x2,    0x2d,   0xfe,   0x3,    0x2,    0x2,
      0x2,   0x2f,   0x104,  0x3,    0x2,    0x2,    0x2,    0x31,   0x10c,
      0x3,   0x2,    0x2,    0x2,    0x33,   0x114,  0x3,    0x2,    0x2,
      0x2,   0x35,   0x11b,  0x3,    0x2,    0x2,    0x2,    0x37,   0x126,
      0x3,   0x2,    0x2,    0x2,    0x39,   0x12f,  0x3,    0x2,    0x2,
      0x2,   0x3b,   0x138,  0x3,    0x2,    0x2,    0x2,    0x3d,   0x13b,
      0x3,   0x2,    0x2,    0x2,    0x3f,   0x140,  0x3,    0x2,    0x2,
      0x2,   0x41,   0x148,  0x3,    0x2,    0x2,    0x2,    0x43,   0x14c,
      0x3,   0x2,    0x2,    0x2,    0x45,   0x152,  0x3,    0x2,    0x2,
      0x2,   0x47,   0x159,  0x3,    0x2,    0x2,    0x2,    0x49,   0x163,
      0x3,   0x2,    0x2,    0x2,    0x4b,   0x16c,  0x3,    0x2,    0x2,
      0x2,   0x4d,   0x172,  0x3,    0x2,    0x2,    0x2,    0x4f,   0x177,
      0x3,   0x2,    0x2,    0x2,    0x51,   0x181,  0x3,    0x2,    0x2,
      0x2,   0x53,   0x185,  0x3,    0x2,    0x2,    0x2,    0x55,   0x18b,
      0x3,   0x2,    0x2,    0x2,    0x57,   0x191,  0x3,    0x2,    0x2,
      0x2,   0x59,   0x198,  0x3,    0x2,    0x2,    0x2,    0x5b,   0x19d,
      0x3,   0x2,    0x2,    0x2,    0x5d,   0x1a2,  0x3,    0x2,    0x2,
      0x2,   0x5f,   0x1a5,  0x3,    0x2,    0x2,    0x2,    0x61,   0x1a9,
      0x3,   0x2,    0x2,    0x2,    0x63,   0x1b0,  0x3,    0x2,    0x2,
      0x2,   0x65,   0x1b7,  0x3,    0x2,    0x2,    0x2,    0x67,   0x1c3,
      0x3,   0x2,    0x2,    0x2,    0x69,   0x1c9,  0x3,    0x2,    0x2,
      0x2,   0x6b,   0x1e5,  0x3,    0x2,    0x2,    0x2,    0x6d,   0x1e7,
      0x3,   0x2,    0x2,    0x2,    0x6f,   0x1ea,  0x3,    0x2,    0x2,
      0x2,   0x71,   0x1ec,  0x3,    0x2,    0x2,    0x2,    0x73,   0x1ee,
      0x3,   0x2,    0x2,    0x2,    0x75,   0x1f0,  0x3,    0x2,    0x2,
      0x2,   0x77,   0x1f2,  0x3,    0x2,    0x2,    0x2,    0x79,   0x1f4,
      0x3,   0x2,    0x2,    0x2,    0x7b,   0x1f6,  0x3,    0x2,    0x2,
      0x2,   0x7d,   0x1f8,  0x3,    0x2,    0x2,    0x2,    0x7f,   0x1fa,
      0x3,   0x2,    0x2,    0x2,    0x81,   0x1fe,  0x3,    0x2,    0x2,
      0x2,   0x83,   0x202,  0x3,    0x2,    0x2,    0x2,    0x85,   0x205,
      0x3,   0x2,    0x2,    0x2,    0x87,   0x207,  0x3,    0x2,    0x2,
      0x2,   0x89,   0x20a,  0x3,    0x2,    0x2,    0x2,    0x8b,   0x20c,
      0x3,   0x2,    0x2,    0x2,    0x8d,   0x20f,  0x3,    0x2,    0x2,
      0x2,   0x8f,   0x212,  0x3,    0x2,    0x2,    0x2,    0x91,   0x215,
      0x3,   0x2,    0x2,    0x2,    0x93,   0x219,  0x3,    0x2,    0x2,
      0x2,   0x95,   0x21f,  0x3,    0x2,    0x2,    0x2,    0x97,   0x221,
      0x3,   0x2,    0x2,    0x2,    0x99,   0x224,  0x3,    0x2,    0x2,
      0x2,   0x9b,   0x227,  0x3,    0x2,    0x2,    0x2,    0x9d,   0x23b,
      0x3,   0x2,    0x2,    0x2,    0x9f,   0x23d,  0x3,    0x2,    0x2,
      0x2,   0xa1,   0x240,  0x3,    0x2,    0x2,    0x2,    0xa3,   0x248,
      0x3,   0x2,    0x2,    0x2,    0xa5,   0x24e,  0x3,    0x2,    0x2,
      0x2,   0xa7,   0x25e,  0x3,    0x2,    0x2,    0x2,    0xa9,   0x269,
      0x3,   0x2,    0x2,    0x2,    0xab,   0x273,  0x3,    0x2,    0x2,
      0x2,   0xad,   0x275,  0x3,    0x2,    0x2,    0x2,    0xaf,   0x29f,
      0x3,   0x2,    0x2,    0x2,    0xb1,   0xb2,   0x7,    0x2a,   0x2,
      0x2,   0xb2,   0x4,    0x3,    0x2,    0x2,    0x2,    0xb3,   0xb4,
      0x7,   0x2b,   0x2,    0x2,    0xb4,   0x6,    0x3,    0x2,    0x2,
      0x2,   0xb5,   0xb6,   0x7,    0x3f,   0x2,    0x2,    0xb6,   0xb7,
      0x7,   0x40,   0x2,    0x2,    0xb7,   0x8,    0x3,    0x2,    0x2,
      0x2,   0xb8,   0xb9,   0x7,    0x2e,   0x2,    0x2,    0xb9,   0xa,
      0x3,   0x2,    0x2,    0x2,    0xba,   0xbb,   0x7,    0x3c,   0x2,
      0x2,   0xbb,   0xc,    0x3,    0x2,    0x2,    0x2,    0xbc,   0xbd,
      0x7,   0x76,   0x2,    0x2,    0xbd,   0xbe,   0x7,    0x7b,   0x2,
      0x2,   0xbe,   0xbf,   0x7,    0x72,   0x2,    0x2,    0xbf,   0xc0,
      0x7,   0x67,   0x2,    0x2,    0xc0,   0xe,    0x3,    0x2,    0x2,
      0x2,   0xc1,   0xc2,   0x7,    0x41,   0x2,    0x2,    0xc2,   0x10,
      0x3,   0x2,    0x2,    0x2,    0xc3,   0xc4,   0x7,    0x7e,   0x2,
      0x2,   0xc4,   0xc5,   0x7,    0x7e,   0x2,    0x2,    0xc5,   0x12,
      0x3,   0x2,    0x2,    0x2,    0xc6,   0xc7,   0x7,    0x28,   0x2,
      0x2,   0xc7,   0xc8,   0x7,    0x28,   0x2,    0x2,    0xc8,   0x14,
      0x3,   0x2,    0x2,    0x2,    0xc9,   0xca,   0x7,    0x30,   0x2,
      0x2,   0xca,   0x16,   0x3,    0x2,    0x2,    0x2,    0xcb,   0xcc,
      0x7,   0x5d,   0x2,    0x2,    0xcc,   0x18,   0x3,    0x2,    0x2,
      0x2,   0xcd,   0xce,   0x7,    0x5f,   0x2,    0x2,    0xce,   0x1a,
      0x3,   0x2,    0x2,    0x2,    0xcf,   0xd0,   0x7,    0x3d,   0x2,
      0x2,   0xd0,   0x1c,   0x3,    0x2,    0x2,    0x2,    0xd1,   0xd2,
      0x7,   0x71,   0x2,    0x2,    0xd2,   0xd3,   0x7,    0x68,   0x2,
      0x2,   0xd3,   0x1e,   0x3,    0x2,    0x2,    0x2,    0xd4,   0xd5,
      0x7,   0x67,   0x2,    0x2,    0xd5,   0xd6,   0x7,    0x6e,   0x2,
      0x2,   0xd6,   0xd7,   0x7,    0x75,   0x2,    0x2,    0xd7,   0xd8,
      0x7,   0x67,   0x2,    0x2,    0xd8,   0x20,   0x3,    0x2,    0x2,
      0x2,   0xd9,   0xda,   0x7,    0x7d,   0x2,    0x2,    0xda,   0x22,
      0x3,   0x2,    0x2,    0x2,    0xdb,   0xdc,   0x7,    0x7f,   0x2,
      0x2,   0xdc,   0x24,   0x3,    0x2,    0x2,    0x2,    0xdd,   0xde,
      0x7,   0x67,   0x2,    0x2,    0xde,   0xdf,   0x7,    0x7a,   0x2,
      0x2,   0xdf,   0xe0,   0x7,    0x76,   0x2,    0x2,    0xe0,   0xe1,
      0x7,   0x67,   0x2,    0x2,    0xe1,   0xe2,   0x7,    0x70,   0x2,
      0x2,   0xe2,   0xe3,   0x7,    0x66,   0x2,    0x2,    0xe3,   0xe4,
      0x7,   0x75,   0x2,    0x2,    0xe4,   0x26,   0x3,    0x2,    0x2,
      0x2,   0xe5,   0xe6,   0x7,    0x69,   0x2,    0x2,    0xe6,   0xe7,
      0x7,   0x67,   0x2,    0x2,    0xe7,   0xe8,   0x7,    0x70,   0x2,
      0x2,   0xe8,   0xe9,   0x7,    0x67,   0x2,    0x2,    0xe9,   0xea,
      0x7,   0x74,   0x2,    0x2,    0xea,   0xeb,   0x7,    0x63,   0x2,
      0x2,   0xeb,   0xec,   0x7,    0x76,   0x2,    0x2,    0xec,   0xed,
      0x7,   0x67,   0x2,    0x2,    0xed,   0xee,   0x7,    0x75,   0x2,
      0x2,   0xee,   0x28,   0x3,    0x2,    0x2,    0x2,    0xef,   0xf0,
      0x7,   0x71,   0x2,    0x2,    0xf0,   0xf1,   0x7,    0x72,   0x2,
      0x2,   0xf1,   0xf2,   0x7,    0x67,   0x2,    0x2,    0xf2,   0xf3,
      0x7,   0x74,   0x2,    0x2,    0xf3,   0xf4,   0x7,    0x63,   0x2,
      0x2,   0xf4,   0xf5,   0x7,    0x76,   0x2,    0x2,    0xf5,   0xf6,
      0x7,   0x71,   0x2,    0x2,    0xf6,   0xf7,   0x7,    0x74,   0x2,
      0x2,   0xf7,   0x2a,   0x3,    0x2,    0x2,    0x2,    0xf8,   0xf9,
      0x7,   0x65,   0x2,    0x2,    0xf9,   0xfa,   0x7,    0x71,   0x2,
      0x2,   0xfa,   0xfb,   0x7,    0x70,   0x2,    0x2,    0xfb,   0xfc,
      0x7,   0x75,   0x2,    0x2,    0xfc,   0xfd,   0x7,    0x76,   0x2,
      0x2,   0xfd,   0x2c,   0x3,    0x2,    0x2,    0x2,    0xfe,   0xff,
      0x7,   0x6f,   0x2,    0x2,    0xff,   0x100,  0x7,    0x63,   0x2,
      0x2,   0x100,  0x101,  0x7,    0x65,   0x2,    0x2,    0x101,  0x102,
      0x7,   0x74,   0x2,    0x2,    0x102,  0x103,  0x7,    0x71,   0x2,
      0x2,   0x103,  0x2e,   0x3,    0x2,    0x2,    0x2,    0x104,  0x105,
      0x7,   0x64,   0x2,    0x2,    0x105,  0x106,  0x7,    0x77,   0x2,
      0x2,   0x106,  0x107,  0x7,    0x6b,   0x2,    0x2,    0x107,  0x108,
      0x7,   0x6e,   0x2,    0x2,    0x108,  0x109,  0x7,    0x76,   0x2,
      0x2,   0x109,  0x10a,  0x7,    0x6b,   0x2,    0x2,    0x10a,  0x10b,
      0x7,   0x70,   0x2,    0x2,    0x10b,  0x30,   0x3,    0x2,    0x2,
      0x2,   0x10c,  0x10d,  0x7,    0x74,   0x2,    0x2,    0x10d,  0x10e,
      0x7,   0x77,   0x2,    0x2,    0x10e,  0x10f,  0x7,    0x70,   0x2,
      0x2,   0x10f,  0x110,  0x7,    0x76,   0x2,    0x2,    0x110,  0x111,
      0x7,   0x6b,   0x2,    0x2,    0x111,  0x112,  0x7,    0x6f,   0x2,
      0x2,   0x112,  0x113,  0x7,    0x67,   0x2,    0x2,    0x113,  0x32,
      0x3,   0x2,    0x2,    0x2,    0x114,  0x115,  0x7,    0x6f,   0x2,
      0x2,   0x115,  0x116,  0x7,    0x71,   0x2,    0x2,    0x116,  0x117,
      0x7,   0x66,   0x2,    0x2,    0x117,  0x118,  0x7,    0x77,   0x2,
      0x2,   0x118,  0x119,  0x7,    0x6e,   0x2,    0x2,    0x119,  0x11a,
      0x7,   0x67,   0x2,    0x2,    0x11a,  0x34,   0x3,    0x2,    0x2,
      0x2,   0x11b,  0x11c,  0x7,    0x6c,   0x2,    0x2,    0x11c,  0x11d,
      0x7,   0x63,   0x2,    0x2,    0x11d,  0x11e,  0x7,    0x78,   0x2,
      0x2,   0x11e,  0x11f,  0x7,    0x63,   0x2,    0x2,    0x11f,  0x120,
      0x7,   0x75,   0x2,    0x2,    0x120,  0x121,  0x7,    0x65,   0x2,
      0x2,   0x121,  0x122,  0x7,    0x74,   0x2,    0x2,    0x122,  0x123,
      0x7,   0x6b,   0x2,    0x2,    0x123,  0x124,  0x7,    0x72,   0x2,
      0x2,   0x124,  0x125,  0x7,    0x76,   0x2,    0x2,    0x125,  0x36,
      0x3,   0x2,    0x2,    0x2,    0x126,  0x127,  0x7,    0x6b,   0x2,
      0x2,   0x127,  0x128,  0x7,    0x6f,   0x2,    0x2,    0x128,  0x129,
      0x7,   0x72,   0x2,    0x2,    0x129,  0x12a,  0x7,    0x6e,   0x2,
      0x2,   0x12a,  0x12b,  0x7,    0x6b,   0x2,    0x2,    0x12b,  0x12c,
      0x7,   0x65,   0x2,    0x2,    0x12c,  0x12d,  0x7,    0x6b,   0x2,
      0x2,   0x12d,  0x12e,  0x7,    0x76,   0x2,    0x2,    0x12e,  0x38,
      0x3,   0x2,    0x2,    0x2,    0x12f,  0x130,  0x7,    0x66,   0x2,
      0x2,   0x130,  0x131,  0x7,    0x67,   0x2,    0x2,    0x131,  0x132,
      0x7,   0x68,   0x2,    0x2,    0x132,  0x133,  0x7,    0x67,   0x2,
      0x2,   0x133,  0x134,  0x7,    0x74,   0x2,    0x2,    0x134,  0x135,
      0x7,   0x74,   0x2,    0x2,    0x135,  0x136,  0x7,    0x67,   0x2,
      0x2,   0x136,  0x137,  0x7,    0x66,   0x2,    0x2,    0x137,  0x3a,
      0x3,   0x2,    0x2,    0x2,    0x138,  0x139,  0x7,    0x6b,   0x2,
      0x2,   0x139,  0x13a,  0x7,    0x68,   0x2,    0x2,    0x13a,  0x3c,
      0x3,   0x2,    0x2,    0x2,    0x13b,  0x13c,  0x7,    0x65,   0x2,
      0x2,   0x13c,  0x13d,  0x7,    0x63,   0x2,    0x2,    0x13d,  0x13e,
      0x7,   0x75,   0x2,    0x2,    0x13e,  0x13f,  0x7,    0x76,   0x2,
      0x2,   0x13f,  0x3e,   0x3,    0x2,    0x2,    0x2,    0x140,  0x141,
      0x7,   0x65,   0x2,    0x2,    0x141,  0x142,  0x7,    0x71,   0x2,
      0x2,   0x142,  0x143,  0x7,    0x70,   0x2,    0x2,    0x143,  0x144,
      0x7,   0x78,   0x2,    0x2,    0x144,  0x145,  0x7,    0x67,   0x2,
      0x2,   0x145,  0x146,  0x7,    0x74,   0x2,    0x2,    0x146,  0x147,
      0x7,   0x76,   0x2,    0x2,    0x147,  0x40,   0x3,    0x2,    0x2,
      0x2,   0x148,  0x149,  0x7,    0x68,   0x2,    0x2,    0x149,  0x14a,
      0x7,   0x71,   0x2,    0x2,    0x14a,  0x14b,  0x7,    0x74,   0x2,
      0x2,   0x14b,  0x42,   0x3,    0x2,    0x2,    0x2,    0x14c,  0x14d,
      0x7,   0x79,   0x2,    0x2,    0x14d,  0x14e,  0x7,    0x6a,   0x2,
      0x2,   0x14e,  0x14f,  0x7,    0x6b,   0x2,    0x2,    0x14f,  0x150,
      0x7,   0x6e,   0x2,    0x2,    0x150,  0x151,  0x7,    0x67,   0x2,
      0x2,   0x151,  0x44,   0x3,    0x2,    0x2,    0x2,    0x152,  0x153,
      0x7,   0x74,   0x2,    0x2,    0x153,  0x154,  0x7,    0x67,   0x2,
      0x2,   0x154,  0x155,  0x7,    0x76,   0x2,    0x2,    0x155,  0x156,
      0x7,   0x77,   0x2,    0x2,    0x156,  0x157,  0x7,    0x74,   0x2,
      0x2,   0x157,  0x158,  0x7,    0x70,   0x2,    0x2,    0x158,  0x46,
      0x3,   0x2,    0x2,    0x2,    0x159,  0x15a,  0x7,    0x65,   0x2,
      0x2,   0x15a,  0x15b,  0x7,    0x71,   0x2,    0x2,    0x15b,  0x15c,
      0x7,   0x70,   0x2,    0x2,    0x15c,  0x15d,  0x7,    0x75,   0x2,
      0x2,   0x15d,  0x15e,  0x7,    0x76,   0x2,    0x2,    0x15e,  0x15f,
      0x7,   0x67,   0x2,    0x2,    0x15f,  0x160,  0x7,    0x7a,   0x2,
      0x2,   0x160,  0x161,  0x7,    0x72,   0x2,    0x2,    0x161,  0x162,
      0x7,   0x74,   0x2,    0x2,    0x162,  0x48,   0x3,    0x2,    0x2,
      0x2,   0x163,  0x164,  0x7,    0x65,   0x2,    0x2,    0x164,  0x165,
      0x7,   0x71,   0x2,    0x2,    0x165,  0x166,  0x7,    0x70,   0x2,
      0x2,   0x166,  0x167,  0x7,    0x76,   0x2,    0x2,    0x167,  0x168,
      0x7,   0x6b,   0x2,    0x2,    0x168,  0x169,  0x7,    0x70,   0x2,
      0x2,   0x169,  0x16a,  0x7,    0x77,   0x2,    0x2,    0x16a,  0x16b,
      0x7,   0x67,   0x2,    0x2,    0x16b,  0x4a,   0x3,    0x2,    0x2,
      0x2,   0x16c,  0x16d,  0x7,    0x64,   0x2,    0x2,    0x16d,  0x16e,
      0x7,   0x74,   0x2,    0x2,    0x16e,  0x16f,  0x7,    0x67,   0x2,
      0x2,   0x16f,  0x170,  0x7,    0x63,   0x2,    0x2,    0x170,  0x171,
      0x7,   0x6d,   0x2,    0x2,    0x171,  0x4c,   0x3,    0x2,    0x2,
      0x2,   0x172,  0x173,  0x7,    0x69,   0x2,    0x2,    0x173,  0x174,
      0x7,   0x71,   0x2,    0x2,    0x174,  0x175,  0x7,    0x76,   0x2,
      0x2,   0x175,  0x176,  0x7,    0x71,   0x2,    0x2,    0x176,  0x4e,
      0x3,   0x2,    0x2,    0x2,    0x177,  0x178,  0x7,    0x71,   0x2,
      0x2,   0x178,  0x179,  0x7,    0x76,   0x2,    0x2,    0x179,  0x17a,
      0x7,   0x6a,   0x2,    0x2,    0x17a,  0x17b,  0x7,    0x67,   0x2,
      0x2,   0x17b,  0x17c,  0x7,    0x74,   0x2,    0x2,    0x17c,  0x17d,
      0x7,   0x79,   0x2,    0x2,    0x17d,  0x17e,  0x7,    0x6b,   0x2,
      0x2,   0x17e,  0x17f,  0x7,    0x75,   0x2,    0x2,    0x17f,  0x180,
      0x7,   0x67,   0x2,    0x2,    0x180,  0x50,   0x3,    0x2,    0x2,
      0x2,   0x181,  0x182,  0x7,    0x76,   0x2,    0x2,    0x182,  0x183,
      0x7,   0x74,   0x2,    0x2,    0x183,  0x184,  0x7,    0x7b,   0x2,
      0x2,   0x184,  0x52,   0x3,    0x2,    0x2,    0x2,    0x185,  0x186,
      0x7,   0x65,   0x2,    0x2,    0x186,  0x187,  0x7,    0x63,   0x2,
      0x2,   0x187,  0x188,  0x7,    0x76,   0x2,    0x2,    0x188,  0x189,
      0x7,   0x65,   0x2,    0x2,    0x189,  0x18a,  0x7,    0x6a,   0x2,
      0x2,   0x18a,  0x54,   0x3,    0x2,    0x2,    0x2,    0x18b,  0x18c,
      0x7,   0x6e,   0x2,    0x2,    0x18c,  0x18d,  0x7,    0x63,   0x2,
      0x2,   0x18d,  0x18e,  0x7,    0x64,   0x2,    0x2,    0x18e,  0x18f,
      0x7,   0x67,   0x2,    0x2,    0x18f,  0x190,  0x7,    0x6e,   0x2,
      0x2,   0x190,  0x56,   0x3,    0x2,    0x2,    0x2,    0x191,  0x192,
      0x7,   0x6e,   0x2,    0x2,    0x192,  0x193,  0x7,    0x63,   0x2,
      0x2,   0x193,  0x194,  0x7,    0x64,   0x2,    0x2,    0x194,  0x195,
      0x7,   0x67,   0x2,    0x2,    0x195,  0x196,  0x7,    0x6e,   0x2,
      0x2,   0x196,  0x197,  0x7,    0x75,   0x2,    0x2,    0x197,  0x58,
      0x3,   0x2,    0x2,    0x2,    0x198,  0x199,  0x7,    0x76,   0x2,
      0x2,   0x199,  0x19a,  0x7,    0x63,   0x2,    0x2,    0x19a,  0x19b,
      0x7,   0x6b,   0x2,    0x2,    0x19b,  0x19c,  0x7,    0x6e,   0x2,
      0x2,   0x19c,  0x5a,   0x3,    0x2,    0x2,    0x2,    0x19d,  0x19e,
      0x7,   0x6b,   0x2,    0x2,    0x19e,  0x19f,  0x7,    0x75,   0x2,
      0x2,   0x19f,  0x1a0,  0x7,    0x70,   0x2,    0x2,    0x1a0,  0x1a1,
      0x7,   0x76,   0x2,    0x2,    0x1a1,  0x5c,   0x3,    0x2,    0x2,
      0x2,   0x1a2,  0x1a3,  0x7,    0x6b,   0x2,    0x2,    0x1a3,  0x1a4,
      0x7,   0x75,   0x2,    0x2,    0x1a4,  0x5e,   0x3,    0x2,    0x2,
      0x2,   0x1a5,  0x1a6,  0x7,    0x6e,   0x2,    0x2,    0x1a6,  0x1a7,
      0x7,   0x67,   0x2,    0x2,    0x1a7,  0x1a8,  0x7,    0x76,   0x2,
      0x2,   0x1a8,  0x60,   0x3,    0x2,    0x2,    0x2,    0x1a9,  0x1aa,
      0x7,   0x67,   0x2,    0x2,    0x1aa,  0x1ab,  0x7,    0x7a,   0x2,
      0x2,   0x1ab,  0x1ac,  0x7,    0x76,   0x2,    0x2,    0x1ac,  0x1ad,
      0x7,   0x67,   0x2,    0x2,    0x1ad,  0x1ae,  0x7,    0x74,   0x2,
      0x2,   0x1ae,  0x1af,  0x7,    0x70,   0x2,    0x2,    0x1af,  0x62,
      0x3,   0x2,    0x2,    0x2,    0x1b0,  0x1b1,  0x7,    0x63,   0x2,
      0x2,   0x1b1,  0x1b2,  0x7,    0x75,   0x2,    0x2,    0x1b2,  0x1b3,
      0x7,   0x75,   0x2,    0x2,    0x1b3,  0x1b4,  0x7,    0x67,   0x2,
      0x2,   0x1b4,  0x1b5,  0x7,    0x74,   0x2,    0x2,    0x1b5,  0x1b6,
      0x7,   0x76,   0x2,    0x2,    0x1b6,  0x64,   0x3,    0x2,    0x2,
      0x2,   0x1b7,  0x1b8,  0x7,    0x77,   0x2,    0x2,    0x1b8,  0x1b9,
      0x7,   0x70,   0x2,    0x2,    0x1b9,  0x1ba,  0x7,    0x74,   0x2,
      0x2,   0x1ba,  0x1bb,  0x7,    0x67,   0x2,    0x2,    0x1bb,  0x1bc,
      0x7,   0x63,   0x2,    0x2,    0x1bc,  0x1bd,  0x7,    0x65,   0x2,
      0x2,   0x1bd,  0x1be,  0x7,    0x6a,   0x2,    0x2,    0x1be,  0x1bf,
      0x7,   0x63,   0x2,    0x2,    0x1bf,  0x1c0,  0x7,    0x64,   0x2,
      0x2,   0x1c0,  0x1c1,  0x7,    0x6e,   0x2,    0x2,    0x1c1,  0x1c2,
      0x7,   0x67,   0x2,    0x2,    0x1c2,  0x66,   0x3,    0x2,    0x2,
      0x2,   0x1c3,  0x1c4,  0x7,    0x66,   0x2,    0x2,    0x1c4,  0x1c5,
      0x7,   0x67,   0x2,    0x2,    0x1c5,  0x1c6,  0x7,    0x64,   0x2,
      0x2,   0x1c6,  0x1c7,  0x7,    0x77,   0x2,    0x2,    0x1c7,  0x1c8,
      0x7,   0x69,   0x2,    0x2,    0x1c8,  0x68,   0x3,    0x2,    0x2,
      0x2,   0x1c9,  0x1ca,  0x7,    0x3f,   0x2,    0x2,    0x1ca,  0x6a,
      0x3,   0x2,    0x2,    0x2,    0x1cb,  0x1cc,  0x7,    0x2c,   0x2,
      0x2,   0x1cc,  0x1e6,  0x7,    0x3f,   0x2,    0x2,    0x1cd,  0x1ce,
      0x7,   0x31,   0x2,    0x2,    0x1ce,  0x1e6,  0x7,    0x3f,   0x2,
      0x2,   0x1cf,  0x1d0,  0x7,    0x27,   0x2,    0x2,    0x1d0,  0x1e6,
      0x7,   0x3f,   0x2,    0x2,    0x1d1,  0x1d2,  0x7,    0x2d,   0x2,
      0x2,   0x1d2,  0x1e6,  0x7,    0x3f,   0x2,    0x2,    0x1d3,  0x1d4,
      0x7,   0x2f,   0x2,    0x2,    0x1d4,  0x1e6,  0x7,    0x3f,   0x2,
      0x2,   0x1d5,  0x1d6,  0x7,    0x3e,   0x2,    0x2,    0x1d6,  0x1d7,
      0x7,   0x3e,   0x2,    0x2,    0x1d7,  0x1e6,  0x7,    0x3f,   0x2,
      0x2,   0x1d8,  0x1d9,  0x7,    0x40,   0x2,    0x2,    0x1d9,  0x1da,
      0x7,   0x40,   0x2,    0x2,    0x1da,  0x1e6,  0x7,    0x3f,   0x2,
      0x2,   0x1db,  0x1dc,  0x7,    0x40,   0x2,    0x2,    0x1dc,  0x1dd,
      0x7,   0x40,   0x2,    0x2,    0x1dd,  0x1de,  0x7,    0x40,   0x2,
      0x2,   0x1de,  0x1e6,  0x7,    0x3f,   0x2,    0x2,    0x1df,  0x1e0,
      0x7,   0x28,   0x2,    0x2,    0x1e0,  0x1e6,  0x7,    0x3f,   0x2,
      0x2,   0x1e1,  0x1e2,  0x7,    0x60,   0x2,    0x2,    0x1e2,  0x1e6,
      0x7,   0x3f,   0x2,    0x2,    0x1e3,  0x1e4,  0x7,    0x7e,   0x2,
      0x2,   0x1e4,  0x1e6,  0x7,    0x3f,   0x2,    0x2,    0x1e5,  0x1cb,
      0x3,   0x2,    0x2,    0x2,    0x1e5,  0x1cd,  0x3,    0x2,    0x2,
      0x2,   0x1e5,  0x1cf,  0x3,    0x2,    0x2,    0x2,    0x1e5,  0x1d1,
      0x3,   0x2,    0x2,    0x2,    0x1e5,  0x1d3,  0x3,    0x2,    0x2,
      0x2,   0x1e5,  0x1d5,  0x3,    0x2,    0x2,    0x2,    0x1e5,  0x1d8,
      0x3,   0x2,    0x2,    0x2,    0x1e5,  0x1db,  0x3,    0x2,    0x2,
      0x2,   0x1e5,  0x1df,  0x3,    0x2,    0x2,    0x2,    0x1e5,  0x1e1,
      0x3,   0x2,    0x2,    0x2,    0x1e5,  0x1e3,  0x3,    0x2,    0x2,
      0x2,   0x1e6,  0x6c,   0x3,    0x2,    0x2,    0x2,    0x1e7,  0x1e8,
      0x7,   0x3f,   0x2,    0x2,    0x1e8,  0x1e9,  0x7,    0x3f,   0x2,
      0x2,   0x1e9,  0x6e,   0x3,    0x2,    0x2,    0x2,    0x1ea,  0x1eb,
      0x7,   0x2d,   0x2,    0x2,    0x1eb,  0x70,   0x3,    0x2,    0x2,
      0x2,   0x1ec,  0x1ed,  0x7,    0x2f,   0x2,    0x2,    0x1ed,  0x72,
      0x3,   0x2,    0x2,    0x2,    0x1ee,  0x1ef,  0x7,    0x2c,   0x2,
      0x2,   0x1ef,  0x74,   0x3,    0x2,    0x2,    0x2,    0x1f0,  0x1f1,
      0x7,   0x31,   0x2,    0x2,    0x1f1,  0x76,   0x3,    0x2,    0x2,
      0x2,   0x1f2,  0x1f3,  0x7,    0x27,   0x2,    0x2,    0x1f3,  0x78,
      0x3,   0x2,    0x2,    0x2,    0x1f4,  0x1f5,  0x7,    0x7e,   0x2,
      0x2,   0x1f5,  0x7a,   0x3,    0x2,    0x2,    0x2,    0x1f6,  0x1f7,
      0x7,   0x28,   0x2,    0x2,    0x1f7,  0x7c,   0x3,    0x2,    0x2,
      0x2,   0x1f8,  0x1f9,  0x7,    0x80,   0x2,    0x2,    0x1f9,  0x7e,
      0x3,   0x2,    0x2,    0x2,    0x1fa,  0x1fb,  0x7,    0x6f,   0x2,
      0x2,   0x1fb,  0x1fc,  0x7,    0x63,   0x2,    0x2,    0x1fc,  0x1fd,
      0x7,   0x7a,   0x2,    0x2,    0x1fd,  0x80,   0x3,    0x2,    0x2,
      0x2,   0x1fe,  0x1ff,  0x7,    0x6f,   0x2,    0x2,    0x1ff,  0x200,
      0x7,   0x6b,   0x2,    0x2,    0x200,  0x201,  0x7,    0x70,   0x2,
      0x2,   0x201,  0x82,   0x3,    0x2,    0x2,    0x2,    0x202,  0x203,
      0x7,   0x23,   0x2,    0x2,    0x203,  0x204,  0x7,    0x3f,   0x2,
      0x2,   0x204,  0x84,   0x3,    0x2,    0x2,    0x2,    0x205,  0x206,
      0x7,   0x3e,   0x2,    0x2,    0x206,  0x86,   0x3,    0x2,    0x2,
      0x2,   0x207,  0x208,  0x7,    0x3e,   0x2,    0x2,    0x208,  0x209,
      0x7,   0x3f,   0x2,    0x2,    0x209,  0x88,   0x3,    0x2,    0x2,
      0x2,   0x20a,  0x20b,  0x7,    0x40,   0x2,    0x2,    0x20b,  0x8a,
      0x3,   0x2,    0x2,    0x2,    0x20c,  0x20d,  0x7,    0x40,   0x2,
      0x2,   0x20d,  0x20e,  0x7,    0x3f,   0x2,    0x2,    0x20e,  0x8c,
      0x3,   0x2,    0x2,    0x2,    0x20f,  0x210,  0x7,    0x3e,   0x2,
      0x2,   0x210,  0x211,  0x7,    0x3e,   0x2,    0x2,    0x211,  0x8e,
      0x3,   0x2,    0x2,    0x2,    0x212,  0x213,  0x7,    0x40,   0x2,
      0x2,   0x213,  0x214,  0x7,    0x40,   0x2,    0x2,    0x214,  0x90,
      0x3,   0x2,    0x2,    0x2,    0x215,  0x216,  0x7,    0x40,   0x2,
      0x2,   0x216,  0x217,  0x7,    0x40,   0x2,    0x2,    0x217,  0x218,
      0x7,   0x40,   0x2,    0x2,    0x218,  0x92,   0x3,    0x2,    0x2,
      0x2,   0x219,  0x21a,  0x7,    0x30,   0x2,    0x2,    0x21a,  0x21b,
      0x7,   0x30,   0x2,    0x2,    0x21b,  0x21c,  0x7,    0x30,   0x2,
      0x2,   0x21c,  0x94,   0x3,    0x2,    0x2,    0x2,    0x21d,  0x220,
      0x5,   0x6d,   0x37,   0x2,    0x21e,  0x220,  0x5,    0x83,   0x42,
      0x2,   0x21f,  0x21d,  0x3,    0x2,    0x2,    0x2,    0x21f,  0x21e,
      0x3,   0x2,    0x2,    0x2,    0x220,  0x96,   0x3,    0x2,    0x2,
      0x2,   0x221,  0x222,  0x7,    0x2d,   0x2,    0x2,    0x222,  0x223,
      0x7,   0x2d,   0x2,    0x2,    0x223,  0x98,   0x3,    0x2,    0x2,
      0x2,   0x224,  0x225,  0x7,    0x2f,   0x2,    0x2,    0x225,  0x226,
      0x7,   0x2f,   0x2,    0x2,    0x226,  0x9a,   0x3,    0x2,    0x2,
      0x2,   0x227,  0x228,  0x7,    0x23,   0x2,    0x2,    0x228,  0x9c,
      0x3,   0x2,    0x2,    0x2,    0x229,  0x22e,  0x7,    0x24,   0x2,
      0x2,   0x22a,  0x22d,  0x5,    0x9f,   0x50,   0x2,    0x22b,  0x22d,
      0xa,   0x2,    0x2,    0x2,    0x22c,  0x22a,  0x3,    0x2,    0x2,
      0x2,   0x22c,  0x22b,  0x3,    0x2,    0x2,    0x2,    0x22d,  0x230,
      0x3,   0x2,    0x2,    0x2,    0x22e,  0x22c,  0x3,    0x2,    0x2,
      0x2,   0x22e,  0x22f,  0x3,    0x2,    0x2,    0x2,    0x22f,  0x231,
      0x3,   0x2,    0x2,    0x2,    0x230,  0x22e,  0x3,    0x2,    0x2,
      0x2,   0x231,  0x23c,  0x7,    0x24,   0x2,    0x2,    0x232,  0x237,
      0x7,   0x29,   0x2,    0x2,    0x233,  0x236,  0x5,    0x9f,   0x50,
      0x2,   0x234,  0x236,  0xa,    0x3,    0x2,    0x2,    0x235,  0x233,
      0x3,   0x2,    0x2,    0x2,    0x235,  0x234,  0x3,    0x2,    0x2,
      0x2,   0x236,  0x239,  0x3,    0x2,    0x2,    0x2,    0x237,  0x235,
      0x3,   0x2,    0x2,    0x2,    0x237,  0x238,  0x3,    0x2,    0x2,
      0x2,   0x238,  0x23a,  0x3,    0x2,    0x2,    0x2,    0x239,  0x237,
      0x3,   0x2,    0x2,    0x2,    0x23a,  0x23c,  0x7,    0x29,   0x2,
      0x2,   0x23b,  0x229,  0x3,    0x2,    0x2,    0x2,    0x23b,  0x232,
      0x3,   0x2,    0x2,    0x2,    0x23c,  0x9e,   0x3,    0x2,    0x2,
      0x2,   0x23d,  0x23e,  0x7,    0x5e,   0x2,    0x2,    0x23e,  0x23f,
      0x9,   0x4,    0x2,    0x2,    0x23f,  0xa0,   0x3,    0x2,    0x2,
      0x2,   0x240,  0x244,  0x9,    0x5,    0x2,    0x2,    0x241,  0x243,
      0x9,   0x6,    0x2,    0x2,    0x242,  0x241,  0x3,    0x2,    0x2,
      0x2,   0x243,  0x246,  0x3,    0x2,    0x2,    0x2,    0x244,  0x242,
      0x3,   0x2,    0x2,    0x2,    0x244,  0x245,  0x3,    0x2,    0x2,
      0x2,   0x245,  0xa2,   0x3,    0x2,    0x2,    0x2,    0x246,  0x244,
      0x3,   0x2,    0x2,    0x2,    0x247,  0x249,  0x9,    0x7,    0x2,
      0x2,   0x248,  0x247,  0x3,    0x2,    0x2,    0x2,    0x249,  0x24a,
      0x3,   0x2,    0x2,    0x2,    0x24a,  0x248,  0x3,    0x2,    0x2,
      0x2,   0x24a,  0x24b,  0x3,    0x2,    0x2,    0x2,    0x24b,  0x24c,
      0x3,   0x2,    0x2,    0x2,    0x24c,  0x24d,  0x8,    0x52,   0x2,
      0x2,   0x24d,  0xa4,   0x3,    0x2,    0x2,    0x2,    0x24e,  0x24f,
      0x7,   0x31,   0x2,    0x2,    0x24f,  0x250,  0x7,    0x2c,   0x2,
      0x2,   0x250,  0x254,  0x3,    0x2,    0x2,    0x2,    0x251,  0x253,
      0xb,   0x2,    0x2,    0x2,    0x252,  0x251,  0x3,    0x2,    0x2,
      0x2,   0x253,  0x256,  0x3,    0x2,    0x2,    0x2,    0x254,  0x255,
      0x3,   0x2,    0x2,    0x2,    0x254,  0x252,  0x3,    0x2,    0x2,
      0x2,   0x255,  0x25a,  0x3,    0x2,    0x2,    0x2,    0x256,  0x254,
      0x3,   0x2,    0x2,    0x2,    0x257,  0x258,  0x7,    0x2c,   0x2,
      0x2,   0x258,  0x25b,  0x7,    0x31,   0x2,    0x2,    0x259,  0x25b,
      0x7,   0x2,    0x2,    0x3,    0x25a,  0x257,  0x3,    0x2,    0x2,
      0x2,   0x25a,  0x259,  0x3,    0x2,    0x2,    0x2,    0x25b,  0x25c,
      0x3,   0x2,    0x2,    0x2,    0x25c,  0x25d,  0x8,    0x53,   0x2,
      0x2,   0x25d,  0xa6,   0x3,    0x2,    0x2,    0x2,    0x25e,  0x25f,
      0x7,   0x31,   0x2,    0x2,    0x25f,  0x260,  0x7,    0x31,   0x2,
      0x2,   0x260,  0x264,  0x3,    0x2,    0x2,    0x2,    0x261,  0x263,
      0xa,   0x8,    0x2,    0x2,    0x262,  0x261,  0x3,    0x2,    0x2,
      0x2,   0x263,  0x266,  0x3,    0x2,    0x2,    0x2,    0x264,  0x262,
      0x3,   0x2,    0x2,    0x2,    0x264,  0x265,  0x3,    0x2,    0x2,
      0x2,   0x265,  0x267,  0x3,    0x2,    0x2,    0x2,    0x266,  0x264,
      0x3,   0x2,    0x2,    0x2,    0x267,  0x268,  0x8,    0x54,   0x2,
      0x2,   0x268,  0xa8,   0x3,    0x2,    0x2,    0x2,    0x269,  0x26a,
      0x9,   0x9,    0x2,    0x2,    0x26a,  0xaa,   0x3,    0x2,    0x2,
      0x2,   0x26b,  0x274,  0x7,    0x32,   0x2,    0x2,    0x26c,  0x270,
      0x9,   0xa,    0x2,    0x2,    0x26d,  0x26f,  0x5,    0xa9,   0x55,
      0x2,   0x26e,  0x26d,  0x3,    0x2,    0x2,    0x2,    0x26f,  0x272,
      0x3,   0x2,    0x2,    0x2,    0x270,  0x26e,  0x3,    0x2,    0x2,
      0x2,   0x270,  0x271,  0x3,    0x2,    0x2,    0x2,    0x271,  0x274,
      0x3,   0x2,    0x2,    0x2,    0x272,  0x270,  0x3,    0x2,    0x2,
      0x2,   0x273,  0x26b,  0x3,    0x2,    0x2,    0x2,    0x273,  0x26c,
      0x3,   0x2,    0x2,    0x2,    0x274,  0xac,   0x3,    0x2,    0x2,
      0x2,   0x275,  0x277,  0x9,    0xb,    0x2,    0x2,    0x276,  0x278,
      0x9,   0xc,    0x2,    0x2,    0x277,  0x276,  0x3,    0x2,    0x2,
      0x2,   0x277,  0x278,  0x3,    0x2,    0x2,    0x2,    0x278,  0x27a,
      0x3,   0x2,    0x2,    0x2,    0x279,  0x27b,  0x5,    0xa9,   0x55,
      0x2,   0x27a,  0x279,  0x3,    0x2,    0x2,    0x2,    0x27b,  0x27c,
      0x3,   0x2,    0x2,    0x2,    0x27c,  0x27a,  0x3,    0x2,    0x2,
      0x2,   0x27c,  0x27d,  0x3,    0x2,    0x2,    0x2,    0x27d,  0xae,
      0x3,   0x2,    0x2,    0x2,    0x27e,  0x280,  0x5,    0x71,   0x39,
      0x2,   0x27f,  0x27e,  0x3,    0x2,    0x2,    0x2,    0x27f,  0x280,
      0x3,   0x2,    0x2,    0x2,    0x280,  0x281,  0x3,    0x2,    0x2,
      0x2,   0x281,  0x282,  0x5,    0xab,   0x56,   0x2,    0x282,  0x286,
      0x7,   0x30,   0x2,    0x2,    0x283,  0x285,  0x5,    0xa9,   0x55,
      0x2,   0x284,  0x283,  0x3,    0x2,    0x2,    0x2,    0x285,  0x288,
      0x3,   0x2,    0x2,    0x2,    0x286,  0x284,  0x3,    0x2,    0x2,
      0x2,   0x286,  0x287,  0x3,    0x2,    0x2,    0x2,    0x287,  0x28a,
      0x3,   0x2,    0x2,    0x2,    0x288,  0x286,  0x3,    0x2,    0x2,
      0x2,   0x289,  0x28b,  0x5,    0xad,   0x57,   0x2,    0x28a,  0x289,
      0x3,   0x2,    0x2,    0x2,    0x28a,  0x28b,  0x3,    0x2,    0x2,
      0x2,   0x28b,  0x2a0,  0x3,    0x2,    0x2,    0x2,    0x28c,  0x28e,
      0x5,   0x71,   0x39,   0x2,    0x28d,  0x28c,  0x3,    0x2,    0x2,
      0x2,   0x28d,  0x28e,  0x3,    0x2,    0x2,    0x2,    0x28e,  0x28f,
      0x3,   0x2,    0x2,    0x2,    0x28f,  0x291,  0x7,    0x30,   0x2,
      0x2,   0x290,  0x292,  0x5,    0xa9,   0x55,   0x2,    0x291,  0x290,
      0x3,   0x2,    0x2,    0x2,    0x292,  0x293,  0x3,    0x2,    0x2,
      0x2,   0x293,  0x291,  0x3,    0x2,    0x2,    0x2,    0x293,  0x294,
      0x3,   0x2,    0x2,    0x2,    0x294,  0x296,  0x3,    0x2,    0x2,
      0x2,   0x295,  0x297,  0x5,    0xad,   0x57,   0x2,    0x296,  0x295,
      0x3,   0x2,    0x2,    0x2,    0x296,  0x297,  0x3,    0x2,    0x2,
      0x2,   0x297,  0x2a0,  0x3,    0x2,    0x2,    0x2,    0x298,  0x29a,
      0x5,   0x71,   0x39,   0x2,    0x299,  0x298,  0x3,    0x2,    0x2,
      0x2,   0x299,  0x29a,  0x3,    0x2,    0x2,    0x2,    0x29a,  0x29b,
      0x3,   0x2,    0x2,    0x2,    0x29b,  0x29d,  0x5,    0xab,   0x56,
      0x2,   0x29c,  0x29e,  0x5,    0xad,   0x57,   0x2,    0x29d,  0x29c,
      0x3,   0x2,    0x2,    0x2,    0x29d,  0x29e,  0x3,    0x2,    0x2,
      0x2,   0x29e,  0x2a0,  0x3,    0x2,    0x2,    0x2,    0x29f,  0x27f,
      0x3,   0x2,    0x2,    0x2,    0x29f,  0x28d,  0x3,    0x2,    0x2,
      0x2,   0x29f,  0x299,  0x3,    0x2,    0x2,    0x2,    0x2a0,  0xb0,
      0x3,   0x2,    0x2,    0x2,    0x1c,   0x2,    0x1e5,  0x21f,  0x22c,
      0x22e, 0x235,  0x237,  0x23b,  0x244,  0x24a,  0x254,  0x25a,  0x264,
      0x270, 0x273,  0x277,  0x27c,  0x27f,  0x286,  0x28a,  0x28d,  0x293,
      0x296, 0x299,  0x29d,  0x29f,  0x3,    0x2,    0x3,    0x2,
  };

  atn::ATNDeserializer deserializer;
  _atn = deserializer.deserialize(_serializedATN);

  size_t count = _atn.getNumberOfDecisions();
  _decisionToDFA.reserve(count);
  for (size_t i = 0; i < count; i++) {
    _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
  }
}

TorqueLexer::Initializer TorqueLexer::_init;
